diff --git a/django/db/models/enums.py b/django/db/models/enums.py
index bbe362a6ab..910891d7aa 100644
--- a/django/db/models/enums.py
+++ b/django/db/models/enums.py
@@ -6,7 +6,7 @@ __all__ = ['Choices', 'IntegerChoices', 'TextChoices']
 
 
 class ChoicesMeta(enum.EnumMeta):
-    """A metaclass for creating a enum choices."""
+    """A metaclass for creating enum choices."""
 
     def __new__(metacls, classname, bases, classdict):
         labels = []
@@ -26,17 +26,13 @@ class ChoicesMeta(enum.EnumMeta):
             # assignment in enum's classdict.
             dict.__setitem__(classdict, key, value)
         cls = super().__new__(metacls, classname, bases, classdict)
-        cls._value2label_map_ = dict(zip(cls._value2member_map_, labels))
-        # Add a label property to instances of enum which uses the enum member
-        # that is passed in as "self" as the value to use when looking up the
-        # label in the choices.
-        cls.label = property(lambda self: cls._value2label_map_.get(self.value))
+        cls._value2label_map_ = {member.value: label for member, label in zip(cls, labels)}
         return enum.unique(cls)
 
     def __contains__(cls, member):
         if not isinstance(member, enum.Enum):
             # Allow non-enums to match against member values.
-            return member in {x.value for x in cls}
+            return member in cls._value2member_map_
         return super().__contains__(member)
 
     @property
@@ -47,7 +43,7 @@ class ChoicesMeta(enum.EnumMeta):
     @property
     def choices(cls):
         empty = [(None, cls.__empty__)] if hasattr(cls, '__empty__') else []
-        return empty + [(member.value, member.label) for member in cls]
+        return empty + [(member.value, cls._value2label_map_.get(member.value)) for member in cls]
 
     @property
     def labels(cls):
@@ -73,3 +69,6 @@ class TextChoices(str, Choices):
 
     def _generate_next_value_(name, start, count, last_values):
         return name
+
+    def __str__(self):
+        return str(self.value)
